package com.ruoyi.common.core.domain.entity;

import com.ruoyi.common.core.domain.NewBaseEntity;
import com.ruoyi.common.core.domain.vo.ConsulationPriceVo;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;

import java.math.BigDecimal;
import java.util.List;

/**
 * 医生信息对象 doc_info
 * 
 * @author ruoyi
 * @date 2024-08-14
 */
public class DocInfo extends NewBaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Integer id;

    /** 姓名 */
    @Excel(name = "姓名")
    private String docName;

    /** 头像 */
    private String docAvatar;

    /** 注册手机号 */
    @Excel(name = "注册账号")
    private String docPhone;

    /** 密码 */
    private String docPassword;

    /** 联系电话 */
    @Excel(name = "联系电话")
    private String docTele;

    /** 所属医院 */
    private Integer hisId;

    /** 职称 */
    @Excel(name = "职称")
    private String docProfession;
    private Integer docProfessionId;

    /** 所属科室 */
    private Integer depId;

    /** 类型 */
    @Excel(name = "类型",dictType = "doc_type")
    private String docType;

    //衍生字段
    /** 所属医院 */
    @Excel(name = "所属医院")
    private String hisName;
    /** 所属科室 */
    @Excel(name = "所属科室")
    private String depName;

    private Integer sex;

    /** 是否推荐 */
    @Excel(name = "是否推荐",dictType = "is_recommend")
    private Integer isRecommend;

    /** 法大大认证状态 */
    @Excel(name = "法大大认证状态",dictType = "doc_type")
    private Integer isAuditFa;

    private Integer isAudit;


    /** 锁定状态 */
    @Excel(name = "锁定状态",dictType = "doc_lock_state")
    private Integer docLockState;

    /** 删除时间 */
    private Integer deleteTime;

    /**
     * 用户唯一标识
     */
    private String token;
    /**
     * 过期时间
     */
    private Long expireTime;

    //昵称 + wxopenid
    private String nickName;
    private String openid;

    private String docAddress; //绑定医生之后，将医生的地址保存至此


    /*补充信息*/
    private String  education; //学历
    private String  educationImg; //学历证书
    private  String  degreeImg;//学位证书
    private String  professionalImg; //职业证书
    private Integer professionalState;//认证状态
    private String qualificationImg;//资格证书
    private Integer qualificationState;//资格证书 状态
    private String goodatDesc; //擅长
    private String profileDesc; //简介
    private String signContent;//签名内容
    private String idcardNo; //身份证号码
    private String idcardImg;//身份证图片
    private String idcardfanImg; //身份证反面


    private String rating = "100%";//好评率
    private String consultationNums;//咨询量
    private String responseTime;//相应时长
    private String  labels;//标签
    private Integer  isTop; //是否百强


    private Integer hisLevel;//医院级别
    private Integer beginTime;
    private Integer endTime;


    private String keyWord;
    private Integer conNum; //问诊数量

    /** 经度 */
    private BigDecimal longitude;

    /** 纬度 */
    private BigDecimal latitude;

    public Integer getConNum() {
        return conNum;
    }

    public void setConNum(Integer conNum) {
        this.conNum = conNum;
    }

    public BigDecimal getLatitude() {
        return latitude;
    }

    public void setLatitude(BigDecimal latitude) {
        this.latitude = latitude;
    }

    public BigDecimal getLongitude() {
        return longitude;
    }

    public void setLongitude(BigDecimal longitude) {
        this.longitude = longitude;
    }

    public Integer getIsAudit() {
        return isAudit;
    }

    public void setIsAudit(Integer isAudit) {
        this.isAudit = isAudit;
    }

    public String getKeyWord() {
        return keyWord;
    }

    public void setKeyWord(String keyWord) {
        this.keyWord = keyWord;
    }
    public Integer getDocProfessionId() {
        return docProfessionId;
    }

    public void setDocProfessionId(Integer docProfessionId) {
        this.docProfessionId = docProfessionId;
    }

    private String picPath;//图片的基地址


    public String getDocAddress() {
        return docAddress;
    }

    public void setDocAddress(String docAddress) {
        this.docAddress = docAddress;
    }

    public String getPicPath() {
        return picPath;
    }

    public void setPicPath(String picPath) {
        this.picPath = picPath;
    }

    private List<ConsulationPriceVo> consulationPriceVo;

    public List<ConsulationPriceVo> getConsulationPriceVo() {
        return consulationPriceVo;
    }

    public void setConsulationPriceVo(List<ConsulationPriceVo> consulationPriceVo) {
        this.consulationPriceVo = consulationPriceVo;
    }

    public String getNickName() {
        return nickName;
    }

    public String getDegreeImg() {
        return degreeImg;
    }

    public void setDegreeImg(String degreeImg) {
        this.degreeImg = degreeImg;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getEducationImg() {
        return educationImg;
    }

    public void setEducationImg(String educationImg) {
        this.educationImg = educationImg;
    }

    public String getOpenid() {
        return openid;
    }

    public void setOpenid(String openid) {
        this.openid = openid;
    }

    public Integer getHisLevel() {
        return hisLevel;
    }

    public void setHisLevel(Integer hisLevel) {
        this.hisLevel = hisLevel;
    }

    public Integer getIsTop() {
        return isTop;
    }

    public void setIsTop(Integer isTop) {
        this.isTop = isTop;
    }

    public String getRating() {
        return rating;
    }

    public void setRating(String rating) {
        this.rating = rating;
    }

    public String getConsultationNums() {
        return consultationNums;
    }

    public void setConsultationNums(String consultationNums) {
        this.consultationNums = consultationNums;
    }

    public String getResponseTime() {
        return responseTime;
    }

    public void setResponseTime(String responseTime) {
        this.responseTime = responseTime;
    }

    public String getLabels() {
        return labels;
    }

    public void setLabels(String labels) {
        this.labels = labels;
    }

    public String getIdcardfanImg() {
        return idcardfanImg;
    }

    public void setIdcardfanImg(String idcardfanImg) {
        this.idcardfanImg = idcardfanImg;
    }

    public Integer getBeginTime() {
        return beginTime;
    }

    public void setBeginTime(Integer beginTime) {
        this.beginTime = beginTime;
    }

    public Integer getEndTime() {
        return endTime;
    }

    public void setEndTime(Integer endTime) {
        this.endTime = endTime;
    }

    public String getSignContent() {
        return signContent;
    }

    public void setSignContent(String signContent) {
        this.signContent = signContent;
    }

    public String getIdcardNo() {
        return idcardNo;
    }

    public void setIdcardNo(String idcardNo) {
        this.idcardNo = idcardNo;
    }


    public String getEducation() {
        return education;
    }

    public void setEducation(String education) {
        this.education = education;
    }

    public String getProfessionalImg() {
        return professionalImg;
    }

    public void setProfessionalImg(String professionalImg) {
        this.professionalImg = professionalImg;
    }

    public Integer getProfessionalState() {
        return professionalState;
    }

    public void setProfessionalState(Integer professionalState) {
        this.professionalState = professionalState;
    }

    public String getQualificationImg() {
        return qualificationImg;
    }

    public void setQualificationImg(String qualificationImg) {
        this.qualificationImg = qualificationImg;
    }

    public Integer getQualificationState() {
        return qualificationState;
    }

    public void setQualificationState(Integer qualificationState) {
        this.qualificationState = qualificationState;
    }

    public String getGoodatDesc() {
        return goodatDesc;
    }

    public void setGoodatDesc(String goodatDesc) {
        this.goodatDesc = goodatDesc;
    }

    public String getProfileDesc() {
        return profileDesc;
    }

    public void setProfileDesc(String profileDesc) {
        this.profileDesc = profileDesc;
    }

    public String getIdcardImg() {
        return idcardImg;
    }

    public void setIdcardImg(String idcardImg) {
        this.idcardImg = idcardImg;
    }

    public Integer getSex() {
        return sex;
    }

    public void setSex(Integer sex) {
        this.sex = sex;
    }

    public Long getExpireTime() {
        return expireTime;
    }

    public void setExpireTime(Long expireTime) {
        this.expireTime = expireTime;
    }

    public String getToken() {
        return token;
    }

    public void setToken(String token) {
        this.token = token;
    }

    public String getHisName() {
        return hisName;
    }

    public void setHisName(String hisName) {
        this.hisName = hisName;
    }

    public String getDepName() {
        return depName;
    }

    public void setDepName(String depName) {
        this.depName = depName;
    }

    public void setId(Integer id)
    {
        this.id = id;
    }

    public Integer getId() 
    {
        return id;
    }
    public void setDocName(String docName) 
    {
        this.docName = docName;
    }

    public String getDocName() 
    {
        return docName;
    }
    public void setDocAvatar(String docAvatar) 
    {
        this.docAvatar = docAvatar;
    }

    public String getDocAvatar() 
    {
        return docAvatar;
    }
    public void setDocPhone(String docPhone) 
    {
        this.docPhone = docPhone;
    }

    public String getDocPhone() 
    {
        return docPhone;
    }
    public void setDocPassword(String docPassword) 
    {
        this.docPassword = docPassword;
    }

    public String getDocPassword() 
    {
        return docPassword;
    }
    public void setDocTele(String docTele) 
    {
        this.docTele = docTele;
    }

    public String getDocTele() 
    {
        return docTele;
    }
    public void setHisId(Integer hisId) 
    {
        this.hisId = hisId;
    }

    public Integer getHisId() 
    {
        return hisId;
    }
    public void setDocProfession(String docProfession) 
    {
        this.docProfession = docProfession;
    }

    public String getDocProfession() 
    {
        return docProfession;
    }
    public void setDepId(Integer depId) 
    {
        this.depId = depId;
    }

    public Integer getDepId() 
    {
        return depId;
    }

    public void setDocType(String docType)
    {
        this.docType = docType;
    }

    public String getDocType()
    {
        return docType;
    }
    public void setIsRecommend(Integer isRecommend) 
    {
        this.isRecommend = isRecommend;
    }

    public Integer getIsRecommend() 
    {
        return isRecommend;
    }
    public void setIsAuditFa(Integer isAuditFa) 
    {
        this.isAuditFa = isAuditFa;
    }

    public Integer getIsAuditFa() 
    {
        return isAuditFa;
    }
    public void setDocLockState(Integer docLockState) 
    {
        this.docLockState = docLockState;
    }

    public Integer getDocLockState() 
    {
        return docLockState;
    }
    public void setDeleteTime(Integer deleteTime) 
    {
        this.deleteTime = deleteTime;
    }

    public Integer getDeleteTime() 
    {
        return deleteTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("docName", getDocName())
            .append("docAvatar", getDocAvatar())
            .append("docPhone", getDocPhone())
            .append("docPassword", getDocPassword())
            .append("docTele", getDocTele())
            .append("hisId", getHisId())
            .append("docProfession", getDocProfession())
            .append("depId", getDepId())
            .append("docType", getDocType())
            .append("isRecommend", getIsRecommend())
            .append("isAuditFa", getIsAuditFa())
            .append("docLockState", getDocLockState())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("deleteTime", getDeleteTime())
            .toString();
    }
}
